//
// Author: Vladimir Migashko <migashko@gmail.com>, (C) 2011
//
// Copyright: See COPYING file that comes with this distribution
//

#ifndef FASYS_CHANNELS_TYPES_HPP
#define FASYS_CHANNELS_TYPES_HPP

#include <string>
#include <vector>
#include <ctime>

#include "api/types.hpp"
#include "api/message.hpp"
#include "api/message_list.hpp"
#include "api/subscribe.hpp"

// через сутки канал удаляется если не пришло ниодного сообщения 
#define FASYS_INACTIVE_CHANNEL_TIMEOUT 86400
#define FASYS_DEFAULT_TIMELIFE 86400
#define FASYS_MIN_CHANNEL_SIZE 0
#define FASYS_MAX_CHANNEL_SIZE 128

namespace fasys{ namespace channels{

typedef api::message_id_t message_id_t;
typedef api::channel_id_t channel_id_t;
typedef api::order_t order_t;
typedef api::data_t data_t;

typedef api::message_base message_base;
typedef api::message_publish message_publish;
typedef api::message_notify message_notify;

typedef api::message_list_item message_list_item;
typedef api::message_list_request message_list_request;
typedef api::message_list_response message_list_response;

typedef api::subscribe_base subscribe_base;
typedef api::subscribe_request subscribe_request;
typedef api::subscribe_response subscribe_response;


}}

#endif

